1
十六进制表示与虚拟地址空间
AI031Lesson 2
00:00

步入 机器级程序视图,其中硬件的复杂性被抽象为一个结构化的 虚拟地址空间。在此视图中,内存并非变量的集合,而是一个巨大的、连续的8位块数组,称为 字节。对于具有 $w$ 位字长的机器,这些地址范围从 $0$ 到 $2^w - 1$,定义了程序可访问的边界。

1. 十六进制的力量

二进制是电路的语言,但 十六进制表示法 是程序员的语言。由于 $16 = 2^4$,一个十六进制数字(0–F)能完美映射到一个4位的半字节。这使得一个字节的值可以用恰好两个数字紧凑地表示(例如, 0xFF)。这种简写对于阅读 机器码汇编代码至关重要,例如指令 4004dc: 48 03 47 28

图 2.2:十六进制-二进制-十进制映射十六进制十进制二进制01……9ABCDEF01……910111213141500000001……1001101010111100110111101111 规则:将十进制 x 转换为十六进制,需反复计算 x = q ⋅ 16 + r

2. 精度与算术

当我们操作 整型数据类型时,会遇到 布尔环补码 逻辑。我们必须应对 小端存储 存储方式、 整数溢出以及 单精度 浮点数中的 无穷大 ($+\infty$)NaN 存在。理解这些位模式是掌握 任意大小算术 和健壮系统编程的第一步。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>